package com.sdry.service.llm;

import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpSession;

import com.sdry.model.llm.Employee;
import com.sdry.model.llm.Team;
import com.sdry.model.llm.User;

/** 
* @author lian 
* @version 1.0
* @time 2018年10月17日 上午12:52:34
*/
public interface TeamService {

	/**
	 * 查询班组数据总行数
	 * @param team 班组
	 * @return
	 */
	int countTeam(Team team);

	/**
	 * 分页查询班组
	 * @param map 
	 * @return
	 */
	List<Team> listPageTeam(Map<String, Object> map);

	/**
	 * 新增班组
	 * @param team 班组
	 * @return
	 */
	int insertTeam(Team team);

	/**
	 * 修改班组
	 * @param team 班组
	 * @return
	 */
	int updateTeam(Team team);

	/**
	 * 删除班组
	 * @param str 班组ID组成的字符串
	 * @return
	 */
	int deleteTeam(String str);

	/**
	 * 查询所有班组
	 * @return
	 */
	List<Team> listAllTeam();

	/**
	 * 查询班组的员工总数
	 * @param tid
	 * @return
	 */
	int countUserByTeam(Long tid);

	/**
	 * 查询班组的员工详细数据
	 * @param map
	 * @return
	 */
	List<User> listPageUserByTeam(Map<String, Object> map);

	/**
	 * 删除班组中的某个员工
	 * @param emp
	 * @return
	 */
	int deleteUserInEmp(Employee emp);

	/**
	 * 根据员工ID获取班组信息
	 * @param uid 员工ID
	 * @return
	 */
	Team getTeamByUid(Long uid);

	/**
	 * 校验是否可以删除班组
	 * @param str 班组ID组成的字符串
	 * @return
	 */
	int deleteTeamOfVerify(String str);

	/**   
	 * 查询员工是否是班组长
	 * @Title:findTeamByUidInTeam   
	 * @param team
	 * @return             
	 */
	List<Team> findTeamByUidInTeam(Team team);
}
